1. Field of the Invention
The present invention relates generally to memory in processor-based or micro-controller-based systems, and more particularly, to a system and method transferring an application program from system firmware to a storage device without the need for an operating system and/or a directory service.
2. Description of the Related Art
In processor-based systems such as computers, an operating system must first be installed before other application software may be subsequently installed and executed. The operating system software is typically installed from compact disks or diskettes. In certain cases, the operating system must be extended via device drivers, or some other software component, to bring the system up to a level of performance required by the motherboard manufacturer or the system manufacturer. This creates several problems, involving the transport of these device drivers.
Systems are manufactured in stages. The first stage involves the gathering of various components to construct a system motherboard. The second stage involves creating a basic computer by combining a system motherboard with a power supply, hard drive and other internal components. The third stage involves the integration of the basic computer with various peripherals such as a monitor, printer, speakers, keyboard, and mouse.
Each manufacturing stage may have unique requirements, advancements in technology or involve different testing and failure resolutions. Because the various stages of manufacture can happen in different physical locations, and in different companies, device drivers or special software that is added to the target operating system adds extra cost to the system. This extra cost is incurred because the additional drivers or special software must be transported on a floppy disk, a compact disk, or other media with each system. Further, extra items like floppy disks or compact disks can easily be lost or stolen.
Moreover, as technology evolves, the system hardware can provide functionality that current operating systems are unable to use. Today, there is no reliable method available for the system firmware or BIOS to pass on the capability to control new hardware or provide extended system functionality. For example, systems are now incorporating real-time video display. Although the hardware is present to do this function, the operating system is unable to display the real-time video. As discussed earlier, a system manufacturer could supply the user with a diskette or compact disk (CD) that has the software necessary for displaying real-time video. The problem with this is that a motherboard can pass through several middle men before it is incorporated into a system and sold to and end-user, allowing the diskette or CD to be easily lost or destroyed.
Accordingly, there is a need in the technology for a system and method for overcoming the aforementioned problems. In particular, there is a need for a system and method for delivering applications from system firmware to a storage device without the need for or availability of an operating system and/or a directory service.
One aspect of the invention is a method and system for accessing at least one storage element in a processor-based system. The system comprises a memory for storing instruction sequences by which the processor-based system is processed. The memory has at least one storage element. A processor is coupled to the memory, and a storage device is coupled to the processor. Prior to booting an operating system on the processor-based system, the stored instruction sequences cause the processor to write the contents of the at least one storage element to the storage device.
Another aspect of the invention relates to a computer system having a user computer in communication with a remote service computer. The remote service computer has access to a database identifying information available to the service computer. A computer implemented method for transferring information to the user computer, comprises: writing the contents of at least one storage element to a storage device on the user computer prior to booting an operating system on the user computer, establishing a communications link between the user computer and the service computer, and presenting at the user computer, information available to the user computer.